/*
 * @lc app=leetcode.cn id=198 lang=cpp
 *
 * [198] 打家劫舍
 */

#include <limits.h>

#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>
#include <algorithm>
using namespace std;

// @lc code=start
class Solution {
public:
    int rob(vector<int>& nums) {
        int result = 0;
        int length = nums.size();       // 记录房屋数量
        vector<int> dp(length, 0);      // dp[i] 表示包含第 i 号房屋最高金额

        for (int i = 0; i < length; i++) {
            dp[i] = nums[i];
            for (int j = 0; j < i - 1; j++) {
                dp[i] = max(dp[i], dp[j] + nums[i]);
            }
            // 更新寻找最大值
            result = max(result, dp[i]);
        }
        
        return result;
    }
};
// @lc code=end

